A primary computer may be any computer that is the preferred application server in a group of two or more computers. A secondary computer may be any computer that takes over or provides "fail-over" protection for a failing primary computer. The secondary computer typically receives the physical file system, network identity and executing applications of the primary during a fail-over. Prior to fail-over, the secondary computer may be both an application processor and a standby computer or simply a standby computer.
In some paired, clustered or networked primary and secondary computer arrangements, the physical storage media may be a shared physical volume such as arbitrated and lockable shared disks. In other arrangements, the physical storage media for the primary and secondary computers may be separate physical volumes and include a network based file system volume replication scheme where the contents of the file system stored on the primary physical storage media is also copied to the secondary physical storage media. Representative primary and secondary computer arrangements include those described in U.S. Pat. No. 5,696,895, issued to Hemphill et al for Fault Tolerant Multiple Network Servers, U.S. Pat. No. 5,675,723, issued to Ekrot et al for Multi-Server Fault Tolerance Using In-Band Signaling and U.S. Pat. No. 5,157,663, issued to Major et al for a Fault Tolerant Computer System, as well as those commercially available from NCR Corporation (product name "LifeKeeper") and Microsoft Corporation (product name "MS Cluster Server"). A network based file system volume replication scheme is also commercially available from NCR Corporation, assignee of the present application, under the product name "Extended Mirroring".
While prior art fail-over schemes have beneficial aspects they also have disadvantageous aspects. One disadvantageous aspect is that a secondary computer cannot reliable access data within the cache or like memory of a failing primary computer. During conventional processing there is almost always data in the cache waiting to be written to the physical storage media. This data which often includes uncommitted or unwritten file system transactions is lost during failure of the primary computer (often resulting in file corruption and difficult or impossible system recovery).
Another disadvantageous aspect of prior art fail-over schemes relates to the transfer of computer identity. If the secondary machine is part of a cluster or network or the like and data processed by an application executing on the secondary computer is stored via a network file system owned by the primary computer, then the transfer of the network file system results in the secondary computer aliasing to the primary computer and a re-aliasing back to the secondary computer. This may cause irrational behavior in the network file system on the secondary computer during and after fail-over.
Hence a need exists to provide a manner of achieving fail-over from a primary to a secondary computer that protects data in the cache or like memory of the primary and permits the secondary computer to readily adopt the identity of the primary computer.